前面我們有簡單的介紹了一下數組,後來考慮了一下,還是在這裏增加一個補充說明一下。本篇除了說明數組外,還增加另外兩個數據類型:枚舉和結構。
我們首先來看一下枚舉:
枚举其实就是通过使用对人类友好的标记(变量名称),来代替声明一些数据。通常适用于一些离散固定的数据,如,月份,季节等等。枚举的默认数据类型为 init。
語法格式:
enum <identifier> [:enum_base]
{
enumeration list
};
下面我們來看一個具體的示例:
using System;
namespace enumTest3
{
class Program
{
enum WeekDays
{
Sun, Mon, Tue, Wed, Thu, Fri, Sat
};
static void Main(string[] args)
{
Console.WriteLine(WeekDays.Sat);
Console.WriteLine((int)WeekDays.Sun);
}
}
}
我们定义的一个名为 WeekDays 的枚举(枚举名的首字母必须大写),枚举列表为 {Sun, Mon, Tue, Wed, Thu, Fri, Sat},每个枚举列表的值中,都有一个对应的 init 数字,默认从 0 开始,如果你不想从 0 开始,想从 1 开始,可以使用{Sun=1, Mon, Tue, Wed, Thu, Fri, Sat}。然后通过 Console.WriteLine() 输出枚举列表的内容,本示例中,输出了两种情况,一个是直接输入枚举列表内容的名称(Sat),还有一个是通过 “(init)” 输出 sun 对应的数字(值)。
運算結果:
枚舉的數據類型可以是:byte、sbyte、short、ushort、int、unit、long、ulong。
接下來我們要講的是結構(struct)
枚舉的數據類型必須要一致,也就是說一個枚舉的聲明中,大家都屬于同一類型的數據。
而結構中,允許有不同類型的數據。
語法格式:
struct <identifier>
{
<accessibility> <type> <name>;
<accessibility> <type> <name>;
}
下面我們來看一下結構的示例:
using System;
namespace structTest
{
struct students
{
public int id;
public int age;
public string gender;
}
class Program
{
static void Main(string[] args)
{
students Tom; // 定义该结构类型的数据
students Jerry;
Tom.id = 00001;
Tom.age = 25;
Tom.gender = "male";
Jerry.id = 00002;
Jerry.age = 24;
Jerry.gender = "male";
Console.WriteLine($"Tom is {Tom.age} years old");
Console.WriteLine($"Jerry is {Jerry.age} years old.");
}
}
}
結構,類似于數據的結構,所有的數據,都依照已經定義好的結構,錄入數據。並在定義結構時,定義數據的類型。
運行結果:
下面我們來看一下數組:
以上的數據類型有一個特點,一個名稱,都只能有對應的一個值,但有些情況下,我們可能需要,有多個值,如,我們前面的示例中,現在要錄入學生選擇的課程,有同學可能有多門課程,這個時候,就需要使用到我們的數組了。
using System;
namespace structTest
{
struct students
{
public int id;
public int age;
public string gender;
public string[] course; // 定义了一个数组
}
class Program
{
static void Main(string[] args)
{
students Tom; // 定义该结构类型的数据
students Jerry;
Tom.id = 00001;
Tom.age = 25;
Tom.gender = "male";
Tom.course = new string[] { "Math" }; //初始化数组
Jerry.id = 00002;
Jerry.age = 24;
Jerry.gender = "male";
Jerry.course = new string[] { "English" };
foreach ( string i in Tom.course) # 对数组的值进行处理
{
if (i == "Math")
{
Console.WriteLine($"Tom chose {i}.");
}
}
foreach (string i in Jerry.course)
{
if (i == "English")
{
Console.WriteLine($"Jerry chose {i}.");
}
}
}
}
}
運行結果:
IT邦幫忙